
using System;
using System.Data;
using System.Linq;
using System.Linq.Dynamic;
using System.Linq.Dynamic.Core;
using System.Linq.Expressions;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;

using Abp.UI;
using Abp.AutoMapper;
using Abp.Authorization;
using Abp.Linq.Extensions;
using Abp.Domain.Repositories;
using Abp.Application.Services;
using Abp.Application.Services.Dto;


using JYJ.AiYard.StationManagement.TbRoadPayParams.Dtos;
using JYJ.AiYard.StationManagement.TbRoadPayParams;

namespace JYJ.AiYard.StationManagement.TbRoadPayParams
{
    /// <summary>
    /// TbRoadPayParams应用层服务的接口方法
    ///</summary>
    public interface ITbRoadPayParamsAppService : IApplicationService
    {
        /// <summary>
		/// 获取TbRoadPayParams的分页列表信息
		///</summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<TbRoadPayParamsListDto>> GetPaged(GetTbRoadPayParamssInput input);


		/// <summary>
		/// 通过指定id获取TbRoadPayParamsListDto信息
		/// </summary>
		Task<TbRoadPayParamsListDto> GetById(EntityDto<long> input);


        /// <summary>
        /// 返回实体的EditDto
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<GetTbRoadPayParamsForEditOutput> GetForEdit(NullableIdDto<long> input);


        /// <summary>
        /// 添加或者修改TbRoadPayParams的公共方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task CreateOrUpdate(CreateOrUpdateTbRoadPayParamsInput input);


        /// <summary>
        /// 设置回调函数
        /// </summary>
        /// <param name="StationId"></param>
        /// <param name="CaleMoneyNotify"></param>
        /// <param name="PaySuccessNotify"></param>
        /// <param name="InvoiceNotify"></param>
        /// <param name="FindCarNotify"></param>
        /// <returns></returns>
        Task<string> roadpathurl(int StationId, string CaleMoneyNotify, string PaySuccessNotify, string InvoiceNotify, string FindCarNotify);



        /// <summary>
        /// 删除TbRoadPayParams信息的方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task Delete(EntityDto<long> input);


        /// <summary>
        /// 批量删除TbRoadPayParams
        /// </summary>
        Task BatchDelete(List<long> input);


		///// <summary>
  //      /// 导出TbRoadPayParams为excel表
  //      /// </summary>
  //      /// <returns></returns>
		//Task<FileDto> GetToExcel();

    }
}
